package com.ruoyi.asset.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 多媒体附件关联对象 back_media_file
 *
 * @author hghi
 * @date 2022-07-31
 */
public class BackMediaFile extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 多媒体文件ID
     */
    private Long id;

    /**
     * 关联类型（1：候选人附件，2：证明人附件）
     */
    @Excel(name = "关联类型", readConverterExp = "1=：候选人附件，2：证明人附件")
    private String linkType;

    /**
     * 关联标识（其他主键ID）
     */
    @Excel(name = "关联标识", readConverterExp = "其=他主键ID")
    private Long linkId;

    /**
     * 文件类型（1：附件 ，2：图片 ，99：未知）
     */
    @Excel(name = "文件类型", readConverterExp = "1=：附件,，=2：图片,，=99：未知")
    private String fileType;

    /**
     * 文件ID
     */
    @Excel(name = "文件ID")
    private Long fileId;

    /**
     * 附件类型（1：学历，2：证书）
     */
    @Excel(name = "附件类型", readConverterExp = "1：学历，2：证书 3：授权书  4:简历")
    private String annexType;

    /**
     * 添加人
     */
    @Excel(name = "添加人")
    private Long op;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "添加时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date opDate;

    /**
     * 企业ID(0 默认管理员)
     */
    @Excel(name = "企业ID(0 默认管理员)")
    private Long enterpriseId;

    /**
     * 上传渠道
     */
    private Short uploadSource;

    public Short getUploadSource() {
        return uploadSource;
    }

    public void setUploadSource(Short uploadSource) {
        this.uploadSource = uploadSource;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setLinkType(String linkType) {
        this.linkType = linkType;
    }

    public String getLinkType() {
        return linkType;
    }

    public void setLinkId(Long linkId) {
        this.linkId = linkId;
    }

    public Long getLinkId() {
        return linkId;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public Long getFileId() {
        return fileId;
    }

    public void setAnnexType(String annexType) {
        this.annexType = annexType;
    }

    public String getAnnexType() {
        return annexType;
    }

    public void setOp(Long op) {
        this.op = op;
    }

    public Long getOp() {
        return op;
    }

    public void setOpDate(Date opDate) {
        this.opDate = opDate;
    }

    public Date getOpDate() {
        return opDate;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("linkType", getLinkType())
                .append("linkId", getLinkId())
                .append("fileType", getFileType())
                .append("fileId", getFileId())
                .append("annexType", getAnnexType())
                .append("op", getOp())
                .append("opDate", getOpDate())
                .append("enterpriseId", getEnterpriseId())
                .toString();
    }
}
